// index.js
// 获取应用实例
const app = getApp()
import {
    request,
    testrequest
} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
import {
    getSetting,
    openSetting,
    showModal,
    showToast,
    getUserProfile,
    checkImgExists
} from "../../utils/asyncWx.js";

Page({
    data: {
        swiperList: [],
        floorList: [],
        goods_list: [],
        userInfo: {},

        // 导航栏和状态栏高度
        navigationBarAndStatusBarHeight: String(app.globalData.navigationBarAndStatusBarHeight) + 'px',

        // 状态栏高度
        statusBarHeight: String(app.globalData.statusBarHeight) + 'px',
        open: false,

        //当前页数
        currentPage: 0,
        //页数大小
        pageSize: 10,

    },

    tryLogin(){
        wx.login({
            success: (res) => {
                let code = res.code; 
                console.log("code=")
                console.log(code)
                request({
                    url: "user/wxlogin",
                    method: "POST",
                    header: { 'content-type': 'application/x-www-form-urlencoded' },
                    data: { code: code }
                }).then((result, err) => {
                    if (result) {
                        wx.setStorageSync('token', result);
                        //this.updateUserInfo();
                    } else {
                        console.log(err);
                    }
                })
            }
        })
    },

    /**
     * 更新用户信息
     */
    async updateUserInfo() {
        const userInfo = await request({
            url: 'user/userinfo',
        });

        if (userInfo && userInfo.phoneNumber) {
            wx.setStorageSync('userinfo', userInfo);
            this.setData({ userInfo: userInfo });
            showToast({ title: '登录成功' });
        }
        
    },

    onLoad: function(options) {
        this.tryLogin();
        const userInfo = wx.getStorageSync('userinfo');
        this.setData({
            userInfo
        });
        this.getGoodsList(Math.round(Math.random() * 100));
       
    },


    //获取轮播图
    // getSwiperList() {
    //   request({ url: "/home/swiperdata" })
    //     .then(result => {
    //       this.setData({
    //         swiperList: result
    //       })
    //     })
    // },
    //获取导航图
    // getCateList() {
    //   request({ url: "/home/catitems" })
    //     .then(result => {
    //       this.setData({
    //         catesList: result
    //       })
    //     })
    // },
    //获取楼层数据
    // getFloorList() {
    //   request({ url: "/home/floordata" })
    //     .then(result => {
    //       this.setData({
    //         floorList: result
    //       })
    //     })
    // },

    async getGoodsList(cid) {
        //页数加1
        this.setData({
            currentPage: this.data.currentPage + 1
        })
        const res = await request({
            url: "public/goods/list" + "?currentPage=" + this.data.currentPage, //当前页数
            data: { cid }
        });
        if (res.length == 0) {
            wx.showToast({
                title: '已经到底了'
            })
        }
        this.setData({
            goods_list: this.data.goods_list.concat(res)
        });
    },

    // async getTestGoodsList() { //获取商品列表数据
    //     const res = await testrequest({
    //         url: "/goods/search",
    //         data: this.QueryParams
    //     });
    //     //console.log(res);
    //     //返回一个{total:23,pagenum:1,goods:Array(10)}对象
    //     const total = res.total;
    //     this.totalPages = Math.ceil(total / this.QueryParams.pagesize)
    //     this.setData({
    //         // 解构原goods_List并拼接上res.goods的数据
    //         goods_list: [...this.data.goods_list, ...res.goods]
    //     })

    //     // 手动关闭下拉刷新窗口
    //     wx.stopPullDownRefresh();
    // },

    //更换导航栏
    // handleTabsItemChange(e){
    //   const {index}=e.detail;
    //   let {tabs}=this.data;
    //   tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
    //   this.setData({
    //     tabs
    //   })
    // },


    // 上滑触底事件
    onReachBottom() {
        // if (!this.data.loading) {
        //     this.setData({
        //         currentPage: this.data.currentPage + 1
        //     })

        //确保异步请求的顺序性
        if (this.data.goods_list.length == this.data.pageSize * this.data.currentPage) {
            this.getGoodsList(Math.round(Math.random() * 100));
        }
        // if (this.QueryParams.pagenum >= this.totalPages) {
        //     wx.showToast({
        //         title: '已经到底了'
        //     })
        // } else {
        //     this.QueryParams.pagenum++;
        //     this.getGoodsList();
        // }
    },
    //下拉刷新事件
    onPullDownRefresh() {
        //重新置空数组、重置页码、重发请求
        this.setData({
            goods_list: [],
            currentPage: 0
        });
        this.getGoodsList();
    },


    // 点击左上角小图标事件
    tap_ch: function(e) {
        this.setData({
            open: !this.data.open
        });
    },

    //返回按钮
    backtoIndex() {
        this.setData({
            open: false
        });
    },

   

    async checkImg(url) {
        return checkImgExists(url);
    },
})